Micron Document
<!DOCTYPE html>
<html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-0 vector-toc-not-available vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-0 skin-theme-clientpref-day vector-sticky-header-enabled" lang="de" dir="ltr"><head>
<meta charset="UTF-8">
<title>HTTP Caching</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" type="image/png" href="./_res_/favicon.png">
<link rel="canonical" href="https://de.wikipedia.org/wiki/HTTP_Caching"> <link href="./_mw_/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.wikimediamessages.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link href="./_mw_/ext.gadget.citeRef.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.defaultPlainlinks.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonHide.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonLayout.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonStyle.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiDarkmode.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiResponsive.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.specialSearch.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" type="text/css" href="./_mw_/site.styles.css">
<link rel="stylesheet" type="text/css" href="./_mw_/noscript.css">
<link rel="stylesheet" type="text/css" href="./_res_/footer.css">
<link rel="stylesheet" type="text/css" href="./_res_/vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-HTTP_Caching rootpage-HTTP_Caching skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">HTTP Caching</span></h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="contentSub">
<div id="mw-content-subtitle"></div>
</div>
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="de" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="de" dir="ltr"><p><b>HTTP Caching</b> ist eine Technik im <a href="Hypertext_Transfer_Protocol" title="Hypertext Transfer Protocol">Hypertext Transfer Protocol</a> (HTTP), um Ressourcen (Dokumente, Bilder, Dateien allgemein) anhand bestimmter Kriterien in einem <a href="Cache" title="Cache">Cache</a> zwischenzuspeichern, um unnötige Datenübertragungen, <a href="Server" title="Server">Server</a>anfragen zu vermeiden und Zugriffszeiten zu verringern. Da gleichzeitig sichergestellt werden muss, dass die übertragenen Inhalte nicht veraltet sind, ist es nötig, die Zwischenspeicherung von Internetseiten oder anderen <a href="Ressource_(Software)" title="Ressource (Software)">Ressourcen</a> genau steuern zu können. Im HTTP-Standard<sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup> sind dafür eine Reihe von <a href="Tag_(Informatik)" title="Tag (Informatik)">Tags</a> definiert, die das Caching auf <a href="Proxy_(Rechnernetz)" title="Proxy (Rechnernetz)">Proxy</a>- und <a href="Client" title="Client">Clientebene</a> (<a href="Browser-Cache" title="Browser-Cache">Browser-Cache</a>) unterstützen.
</p>

<div class="mw-heading mw-heading2"><h2 id="Methoden_für_die_Cachekontrolle"><span id="Methoden_f.C3.BCr_die_Cachekontrolle"></span>Methoden für die Cachekontrolle</h2></div>
<p>Für HTTP sind drei grundlegende Mechanismen definiert, um Caches zu kontrollieren: ‚Frische‘, ‚Gültigkeit‘ und ‚Entwertung‘ (<span style="font-style:normal;font-weight:normal"><a href="Englische_Sprache" title="Englische Sprache">englisch</a></span> <span lang="en-Latn" style="font-style:italic">freshness</span>, <i><span lang="en">validation</span></i>, <i><span lang="en">invalidation</span></i>).
</p>
<dl><dt>Freshness</dt>
<dd>erlaubt es, eine bereits erhaltene Antwort wiederzuverwenden, ohne beim Ursprungsserver erneut nachfragen zu müssen und kann sowohl durch den Server wie auch den Client gesteuert werden. Zum Beispiel gibt der <i>Expires</i>-<a href="Header" title="Header">Header</a> ein Datum an, zu dem das übertragene Dokument <i>stale</i> („abgestanden, schal“) wird, und die Angabe <i>Cache-Control: max-age</i> sagt dem Cache, wie viele Sekunden lang die Antwort fresh ist.</dd>
<dt>Validation</dt>
<dd>kann verwendet werden, um zu überprüfen, ob eine zwischengespeicherte Antwort noch aktuell ist, nachdem sie schon stale geworden ist. Wenn die Antwort zum Beispiel einen <i>Last-Modified</i>-Header („zuletzt verändert um&nbsp;…“) besitzt, kann ein Cache eine konditionale Anfrage mit dem <i>If-Modified-Since</i>-Header („falls verändert seit&nbsp;…“) absenden um festzustellen, ob sie sich inzwischen geändert hat. Falls die Antwort „nein“ ist, muss der Inhalt nicht erneut gesendet werden.</dd>
<dt>Invalidation</dt>
<dd>ist normalerweise eine Nebenwirkung einer anderen Anfrage, die den Cache passiert. Wenn zum Beispiel eine <a href="Uniform_Resource_Locator" title="Uniform Resource Locator">URL</a>, für die eine zwischengespeicherte Antwort vorliegt, später mit einer POST-, PUT- oder DELETE-Anfrage (siehe <a href="Hypertext_Transfer_Protocol" title="Hypertext Transfer Protocol">HTTP</a>) angesprochen wird, so wird die zwischengespeicherte Antwort entwertet, da die neue Anfrage sie höchstwahrscheinlich verändert hat.</dd></dl>
<p>Seit HTTP&nbsp;1.1 gibt es die Möglichkeit im Header den <a href="HTTP_ETag" title="HTTP ETag">HTTP ETag</a> zu übergeben. Er kennzeichnet eine bestimmte Version einer Ressource.
</p>
<div class="mw-heading mw-heading2"><h2 id="Literatur">Literatur</h2></div>
<ul><li>Chris Shiflett: <i>HTTP developer's handbook.</i> Sams Publishing, Indianapolis IN 2003, ISBN 0-672-32454-7, S.&nbsp;157&nbsp;ff.</li></ul>
<div class="mw-heading mw-heading2"><h2 id="Weblinks">Weblinks</h2></div>
<ul><li>R. Fielding, J. Gettys, J. Mogul, H. Frystyk, L. Masinter, P. Leach, T. Berners-Lee: <i><a href="Request_for_Comments" title="Request for Comments">RFC</a>: <style data-mw-deduplicate="TemplateStyles:r250917974">
/* start https://de.wikipedia.org/ */


.mw-parser-output .dewiki-iconexternal>a{background-position:center right!important;background-repeat:no-repeat!important}body.skin-minerva .mw-parser-output .dewiki-iconexternal>a{background-image:url("./_mw_/OOjs_UI_icon_external-link-ltr-progressive.svg")!important;background-size:10px!important;padding-right:13px!important}body.skin-timeless .mw-parser-output .dewiki-iconexternal>a,body.skin-monobook .mw-parser-output .dewiki-iconexternal>a{background-image:url("./_mw_/MediaWiki_external_link_icon.svg")!important;padding-right:13px!important}body.skin-vector .mw-parser-output .dewiki-iconexternal>a{background-image:url("./_mw_/Link.ernal-small-ltr-progressive.svg")!important;background-size:0.857em!important;padding-right:1em!important}


/* end https://de.wikipedia.org/ */
</style><span class="dewiki-iconexternal"><a href="https://datatracker.ietf.org/doc/html/rfc2616" class="extiw external" title="rfc:2616">2616</a></span></i>&nbsp;– <i><span lang="en">Hypertext Transfer Protocol – HTTP/1.1</span></i>. Juni 1999 (englisch).
<ul><li>Beschreibung der Header-Felder <code>Age</code>,<sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup> <code style="white-space:nowrap">Cache-Control</code>,<sup id="cite_ref-3" class="reference"><a href="#cite_note-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup> <code>Date</code>,<sup id="cite_ref-4" class="reference"><a href="#cite_note-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup> <code>ETag</code>,<sup id="cite_ref-5" class="reference"><a href="#cite_note-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup> <code>Expires</code>,<sup id="cite_ref-6" class="reference"><a href="#cite_note-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup> <code style="white-space:nowrap">If-Match</code>,<sup id="cite_ref-7" class="reference"><a href="#cite_note-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup> <code style="white-space:nowrap">If-Modified-Since</code>,<sup id="cite_ref-8" class="reference"><a href="#cite_note-8"><span class="cite-bracket">[</span>8<span class="cite-bracket">]</span></a></sup> <code style="white-space:nowrap">If-None-Match</code>,<sup id="cite_ref-9" class="reference"><a href="#cite_note-9"><span class="cite-bracket">[</span>9<span class="cite-bracket">]</span></a></sup> <code style="white-space:nowrap">If-Range</code>,<sup id="cite_ref-10" class="reference"><a href="#cite_note-10"><span class="cite-bracket">[</span>10<span class="cite-bracket">]</span></a></sup> <code style="white-space:nowrap">If-Unmodified-Since</code>,<sup id="cite_ref-11" class="reference"><a href="#cite_note-11"><span class="cite-bracket">[</span>11<span class="cite-bracket">]</span></a></sup> <code>Pragma</code>,<sup id="cite_ref-12" class="reference"><a href="#cite_note-12"><span class="cite-bracket">[</span>12<span class="cite-bracket">]</span></a></sup> <code>Vary</code>.<sup id="cite_ref-13" class="reference"><a href="#cite_note-13"><span class="cite-bracket">[</span>13<span class="cite-bracket">]</span></a></sup></li>
<li><i>Caching</i>.<sup id="cite_ref-14" class="reference"><a href="#cite_note-14"><span class="cite-bracket">[</span>14<span class="cite-bracket">]</span></a></sup></li></ul></li>
<li><style data-mw-deduplicate="TemplateStyles:r261891140">
/* start https://de.wikipedia.org/ */


.mw-parser-output .webarchiv-memento a{color:inherit}


/* end https://de.wikipedia.org/ */
</style><a rel="nofollow" class="external text" href="https://web.archive.org/web/20150427090215/http://www.phpgangsta.de/expires-header-und-komprimierung-aktivieren-im-apache2">Expires Header im Apache2 aktivieren.</a> (<span class="webarchiv-memento"><a href="Webarchivierung#Begrifflichkeiten" title="Webarchivierung">Memento</a></span> vom 27. April 2015 im <i><a href="Internet_Archive" title="Internet Archive">Internet Archive</a></i>) phpgangsta.de (deutsch).</li>
<li><a rel="nofollow" class="external text" href="https://web.archive.org/web/20130923120750/http://www.wiggyleaks.de/75/site-optimierung-teil-1-expires-header.html">Expires Header als Teil der Site-Optimierung.</a> (<span class="webarchiv-memento"><a href="Webarchivierung#Begrifflichkeiten" title="Webarchivierung">Memento</a></span> vom 23. September 2013 im <i><a href="Internet_Archive" title="Internet Archive">Internet Archive</a></i>) wiggyleaks.de (deutsch).</li>
<li><a rel="nofollow" class="external text" href="https://web.archive.org/web/20150908175826/http://webstandard.kulando.de/post/2010/10/18/mit-expires-header-performance-von-websites-verbessern"><i>Mit Expires-Header die Performance von Websites verbessern</i>. Teil 1.</a> (<span class="webarchiv-memento"><a href="Webarchivierung#Begrifflichkeiten" title="Webarchivierung">Memento</a></span> vom 8. September 2015 im <i><a href="Internet_Archive" title="Internet Archive">Internet Archive</a></i>) webstandard.kulando.de (deutsch).</li>
<li><a rel="nofollow" class="external text" href="https://web.archive.org/web/20150908175801/http://webstandard.kulando.de/post/2010/10/20/mit-expires-header-performance-von-websites-verbessern-md5-hash"><i>Mit Expires-Header die Performance von Websites verbessern – Der MD5-Hash</i>. Teil 2.</a> (<span class="webarchiv-memento"><a href="Webarchivierung#Begrifflichkeiten" title="Webarchivierung">Memento</a></span> vom 8. September 2015 im <i><a href="Internet_Archive" title="Internet Archive">Internet Archive</a></i>) webstandard.kulando.de (deutsch).</li>
<li><a rel="nofollow" class="external text" href="https://web.archive.org/web/20150908011723/http://webstandard.kulando.de/post/2010/10/25/was-kommt-nach-expires-headern-weitere-optimierungen-statischer-ressourcen"><i>Mit Expires-Header die Performance von Websites verbessern – Was kommt danach?</i> Teil 3.</a> (<span class="webarchiv-memento"><a href="Webarchivierung#Begrifflichkeiten" title="Webarchivierung">Memento</a></span> vom 8. September 2015 im <i><a href="Internet_Archive" title="Internet Archive">Internet Archive</a></i>) webstandard.kulando.de (deutsch).</li></ul>
<div class="mw-heading mw-heading2"><h2 id="Einzelnachweise">Einzelnachweise</h2></div>
<ol class="references">
<li id="cite_note-1"><span class="mw-cite-backlink"><a href="#cite_ref-1">↑</a></span> <span class="reference-text"><span class="cite"><a rel="nofollow" class="external text" href="http://www.web-cache.com/protocols-standards/"><i>Protocols Standards.</i></a> In: <i>web-cache.com.</i><span class="Abrufdatum"> Abgerufen am 24.&nbsp;Juli 2017</span>.</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Fde.wikipedia.org%3AHTTP+Caching&amp;rft.title=Protocols+Standards&amp;rft.description=Protocols+Standards&amp;rft.identifier=http%3A%2F%2Fwww.web-cache.com%2Fprotocols-standards%2F">&nbsp;</span></span>
</li>
<li id="cite_note-2"><span class="mw-cite-backlink"><a href="#cite_ref-2">↑</a></span> <span class="reference-text"><i><a href="Request_for_Comments" title="Request for Comments">RFC</a>: <span class="dewiki-iconexternal"><a href="https://datatracker.ietf.org/doc/html/rfc2616#section-14.6" class="extiw external" title="rfc:2616">2616</a></span></i> Abschnitt&nbsp;14.6: <i>Age</i>. (englisch).</span>
</li>
<li id="cite_note-3"><span class="mw-cite-backlink"><a href="#cite_ref-3">↑</a></span> <span class="reference-text"><i><a href="Request_for_Comments" title="Request for Comments">RFC</a>: <span class="dewiki-iconexternal"><a href="https://datatracker.ietf.org/doc/html/rfc2616#section-14.9" class="extiw external" title="rfc:2616">2616</a></span></i> Abschnitt&nbsp;14.9: <i>Cache-Control</i>. (englisch).</span>
</li>
<li id="cite_note-4"><span class="mw-cite-backlink"><a href="#cite_ref-4">↑</a></span> <span class="reference-text"><i><a href="Request_for_Comments" title="Request for Comments">RFC</a>: <span class="dewiki-iconexternal"><a href="https://datatracker.ietf.org/doc/html/rfc2616#section-14.18" class="extiw external" title="rfc:2616">2616</a></span></i> Abschnitt&nbsp;14.18: <i>Date</i>. (englisch).</span>
</li>
<li id="cite_note-5"><span class="mw-cite-backlink"><a href="#cite_ref-5">↑</a></span> <span class="reference-text"><i><a href="Request_for_Comments" title="Request for Comments">RFC</a>: <span class="dewiki-iconexternal"><a href="https://datatracker.ietf.org/doc/html/rfc2616#section-14.19" class="extiw external" title="rfc:2616">2616</a></span></i> Abschnitt&nbsp;14.19: <i>ETag</i>. (englisch).</span>
</li>
<li id="cite_note-6"><span class="mw-cite-backlink"><a href="#cite_ref-6">↑</a></span> <span class="reference-text"><i><a href="Request_for_Comments" title="Request for Comments">RFC</a>: <span class="dewiki-iconexternal"><a href="https://datatracker.ietf.org/doc/html/rfc2616#section-14.21" class="extiw external" title="rfc:2616">2616</a></span></i> Abschnitt&nbsp;14.21: <i>Expires</i>. (englisch).</span>
</li>
<li id="cite_note-7"><span class="mw-cite-backlink"><a href="#cite_ref-7">↑</a></span> <span class="reference-text"><i><a href="Request_for_Comments" title="Request for Comments">RFC</a>: <span class="dewiki-iconexternal"><a href="https://datatracker.ietf.org/doc/html/rfc2616#section-14.24" class="extiw external" title="rfc:2616">2616</a></span></i> Abschnitt&nbsp;14.24: <i>If-Match</i>. (englisch).</span>
</li>
<li id="cite_note-8"><span class="mw-cite-backlink"><a href="#cite_ref-8">↑</a></span> <span class="reference-text"><i><a href="Request_for_Comments" title="Request for Comments">RFC</a>: <span class="dewiki-iconexternal"><a href="https://datatracker.ietf.org/doc/html/rfc2616#section-14.25" class="extiw external" title="rfc:2616">2616</a></span></i> Abschnitt&nbsp;14.25: <i>If-Modified-Since</i>. (englisch).</span>
</li>
<li id="cite_note-9"><span class="mw-cite-backlink"><a href="#cite_ref-9">↑</a></span> <span class="reference-text"><i><a href="Request_for_Comments" title="Request for Comments">RFC</a>: <span class="dewiki-iconexternal"><a href="https://datatracker.ietf.org/doc/html/rfc2616#section-14.26" class="extiw external" title="rfc:2616">2616</a></span></i> Abschnitt&nbsp;14.26: <i>If-None-Match</i>. (englisch).</span>
</li>
<li id="cite_note-10"><span class="mw-cite-backlink"><a href="#cite_ref-10">↑</a></span> <span class="reference-text"><i><a href="Request_for_Comments" title="Request for Comments">RFC</a>: <span class="dewiki-iconexternal"><a href="https://datatracker.ietf.org/doc/html/rfc2616#section-14.27" class="extiw external" title="rfc:2616">2616</a></span></i> Abschnitt&nbsp;14.27: <i>If-Range</i>. (englisch).</span>
</li>
<li id="cite_note-11"><span class="mw-cite-backlink"><a href="#cite_ref-11">↑</a></span> <span class="reference-text"><i><a href="Request_for_Comments" title="Request for Comments">RFC</a>: <span class="dewiki-iconexternal"><a href="https://datatracker.ietf.org/doc/html/rfc2616#section-14.28" class="extiw external" title="rfc:2616">2616</a></span></i> Abschnitt&nbsp;14.28: <i>If-Unmodified-Since</i>. (englisch).</span>
</li>
<li id="cite_note-12"><span class="mw-cite-backlink"><a href="#cite_ref-12">↑</a></span> <span class="reference-text"><i><a href="Request_for_Comments" title="Request for Comments">RFC</a>: <span class="dewiki-iconexternal"><a href="https://datatracker.ietf.org/doc/html/rfc2616#section-14.32" class="extiw external" title="rfc:2616">2616</a></span></i> Abschnitt&nbsp;14.32: <i>Pragma</i>. (englisch).</span>
</li>
<li id="cite_note-13"><span class="mw-cite-backlink"><a href="#cite_ref-13">↑</a></span> <span class="reference-text"><i><a href="Request_for_Comments" title="Request for Comments">RFC</a>: <span class="dewiki-iconexternal"><a href="https://datatracker.ietf.org/doc/html/rfc2616#section-14.44" class="extiw external" title="rfc:2616">2616</a></span></i> Abschnitt&nbsp;14.44: <i>Vary</i>. (englisch).</span>
</li>
<li id="cite_note-14"><span class="mw-cite-backlink"><a href="#cite_ref-14">↑</a></span> <span class="reference-text"><i><a href="Request_for_Comments" title="Request for Comments">RFC</a>: <span class="dewiki-iconexternal"><a href="https://datatracker.ietf.org/doc/html/rfc2616#section-13" class="extiw external" title="rfc:2616">2616</a></span></i> Abschnitt&nbsp;13: <i>Caching</i>. (englisch).</span>
</li>
</ol></div><!--htdig_noindex--><div><div class="zim-footer">
Dieser Artikel wurde von <a class="external text" title="Zuletzt bearbeitet am 2023-06-29" href="https://de.wikipedia.org/wiki/?title=HTTP_Caching&amp;oldid=235040193">Wikipedia</a> herausgegeben. Der Text ist unter <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.de">Creative Commons Attribution-Share Alike 4.0</a> verfügbar, sofern nicht anders angegeben. Für die Mediendateien können zusätzliche Bedingungen gelten.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
<script src="./_webp_/webpHandler.js"></script>

</body></html>